Profile-based detection of unintended controller errors

ABSTRACT

Methods of the present disclosure may also identify when certain users perform well at certain activities and perform poorly when performing other activities. A particular user could perform very well at a swimming game yet perform poorly at the first-person shooter game. This performance difference may be based on a physical impairment, be based on a lack of training, or be based on other factors. When a potential performance deficiency is identified, a user may be provided with a set of selections that allow the user to participate in a training session or that may allow the user to change functions of a gaming controller to account for the apparent performance deficiency. This additional training or change in controller functions may allow a user to have a more enjoyable user experience or may allow the user to perform at a higher level.

BACKGROUND OF THE INVENTION 1. Field of the Disclosure

The present disclosure is generally related to detecting and respondingto anomalies associated with the use of a game controller. Morespecifically, the present disclosure is directed to assisting usersimprove their use of a game controller such that those users may have amore enjoyable user experience.

2. Description of the Related Art

Computer gaming began many years ago with simple games like Pong wheretwo users used simple control inputs to play a game similar to tabletennis. Since then, many different games and gaming controllers havebeen developed to provide users with a more enriching experience and theability to control actions performed by a gaming computer with increasedsophistication. Computer gaming now has developed to the point whereindividuals use complex controllers. Some gaming systems offer userswith a virtual environment where the users may be immersed fullyimmersed in a game.

Computer gaming systems receive and interpret commands input by a user.Commonly, these systems require the user to provide inputs in a timelyand correct manner. In such systems, when a user enters a control input,the gaming system performs actions based on that input even when aparticular input results in the user performing poorly when playing agame or a particular type of game.

When users make errors when using a game controller, those errors may bemade based on the user not being familiar with a particular game orthese errors may be made based on a physical impairment of the user. Assuch, errors may be caused when a user is confused, memory-impaired,physically impaired, or is impaired in some other way. Such users, afterthey make numerous errors may simply get frustrated and stop playingthat game when these errors impact the performance of the user's gameplay. In order to increase user satisfaction and improve userexperiences, new and improved methods and systems are needed.

SUMMARY OF THE CLAIMED INVENTION

The presently claimed invention relates to a method, a non-transitorycomputer readable storage medium, or an apparatus executing functionsconsistent with the present disclosure for helping users improve theirperformance when playing a game. In a first embodiment, a methodconsistent with the present disclosure may include the steps ofcollecting a set of user input data received from a game controller andtiming information when a game is being played by a user, monitoringdata associated with performance of the game when the game is played bythe user to identify an undesired game outcome and a time associatedwith the undesired game outcome, and performing an analysis thatcompares the received game controller input data and timing informationwith the time of the undesired game outcome when identifying a set ofselections to provide the user. The presently claimed method may alsoinclude the steps of providing the set of selections to the user basedon the analysis and receiving a selection of the set of selections suchthat an action identified in the selection can be initiated. The actionmay then be initiated after receipt of the selection.

In a second embodiment, the method may be implemented as anon-transitory computer-readable storage medium where a processorexecutes instructions out of the memory. Here again the method mayinclude collecting a set of user input data received from a gamecontroller and timing information when a game is being played by a user,monitoring data associated with performance of the game when the game isplayed by the user to identify an undesired game outcome and a timeassociated with the undesired game outcome, and performing an analysisthat compares the received game controller input data and timinginformation with the time of the undesired game outcome when identifyinga set of selections to provide the user. This method may also includeproviding the set of selections to the user based on the analysis andreceiving a selection of the set of selections such that an actionidentified in the selection can be initiated. The action may then beinitiated after receipt of the selection.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network environment in which a system forprofile-based detection of unintended controller usage may beimplemented.

FIG. 2 illustrates an exemplary uniform data system (UDS) that may beused to provide data to a system for profile-based detection ofunintended controller usage.

FIG. 3 is a flowchart illustrating an exemplary method for profile-baseddetection of unintended controller usage.

FIG. 4 is a flowchart illustrating an alternative method forprofile-based detection of unintended controller usage.

FIG. 5 is a block diagram of an exemplary electronic entertainmentsystem that may be used in embodiments of the present invention.

DETAILED DESCRIPTION

Methods of the present disclosure help improve experiences of users whenthose users interact with a gaming system using a game controller. Thesemethods may create a user profile that includes information associatedwith specific users and with their ability to play certain types ofgames. When a user plays a game, they may provide input that results inthe user experiencing a negative outcome. For example, a user that playsa first-person shooter game may provide commands that result in a gamecharacter missing a target that they where apparently shooting at. Herea user profile may associate this particular user with a propensity tomiss targets in the game. Such outcomes may be rooted in the fact thatthe user has difficulty in aligning a virtual weapon with a target. Thiscould be the result of the user forcefully depressing a trigger or otherinput of a game controller. Much like real shooting, users should gentlysqueeze a trigger instead of forcefully depressing the trigger. Sucherrors could also be the result of a physical impartment, for example, auser may not be able to consistently squeeze the trigger because ofarthritis in their hands. When errors are detected, or when a pattern oferrors is detected, methods of the present disclosure may provideinstructions to the user or the user may be offered with an opportunityto practice shooting at virtual targets.

Methods of the present disclosure may also identify when certain usersperform well at certain activities and perform poorly when performingother activities. A particular user could perform very well at aswimming game yet perform poorly at the first-person shooter game. Thisperformance difference may be based on a physical or mental impairment,be based on a lack of training, or be based on other factors. When apotential performance deficiency is identified, a user may be providedwith a set of selections that allow the user to be provided withtraining content (e.g., overlay or other informational notification),participate in a training session or that may allow the user to changefunctions of the same or different gaming controller (e.g., buttonmapping) to account for the apparent performance deficiency. Thisadditional training or change in controller functions may allow a userto have a more enjoyable user experience or may allow the user toperform at a higher level.

When a user participates at a higher level at one type of a game (e.g.,a swimming game) than a second type of game (e.g. a first-person shootergame), control buttons typically used to control the swimming game thatare different than the first-person shooter game may help identify thatthe user has an impaired finger. Such an identification may result inthe gaming system providing a suggestion to the user to use their middlefinger instead of their index finger to activate the trigger of thefirst-person shooter game. In such an instance, the index finger of theuser may be impaired where the middle finger of the user is notimpaired.

Methods of the present disclosure may use a form of machine learning orartificial intelligence to identify errors made by a particular user orpatterns of behavior associated with that particular user. This mayresult in a profile of that user being updated as the user play a game.Training content may be provided during the current session (e.g., in anoverlay), or the current session may be paused while the user reviewsthe training content and/or practices a virtual action during a trainingsession. In other implementations, corrective action suggestions may bepresented, and additional data collection may provide the user withimproved and customized tools to perform better at a particular game.The success of the user's subsequent interactive performance (e.g., inperforming the intended virtual action at the right time) may also betracked and used to refine what options are provided to the user.

FIG. 1 illustrates a network environment in which a system forprofile-based detection of unintended controller usage may beimplemented. The network environment 100 may include one or moreinteractive content servers 110 that provide streaming content (e.g.,interactive video, podcasts, etc.), one or more platform servers 120,one or more user devices 130, and one or more databases 140.

Interactive content servers 110 may maintain, stream, and hostinteractive media available to stream on a user device 130 over acommunication network. Such interactive content servers 110 may beimplemented in the cloud (e.g., one or more cloud servers). Each mediamay include one or more sets of object data that may be available forparticipation with (e.g., viewing or interacting with an activity) by auser. Data about the object shown in the media may be stored by themedia streaming servers 110, platform servers 120 and/or the user device130, in an object file 216 (“object file”), as will be discussed indetail with respect to FIGS. 2A and 3 .

The platform servers 120 may be responsible for communicating with thedifferent interactive content servers 110, databases 140, and userdevices 130. Such platform servers 120 may be implemented on one or morecloud servers. The streaming servers 110 may communicate with multipleplatform servers 120, though the media streaming servers 110 may beimplemented on one or more platform servers 120. The platform servers120 may also carry out instructions, for example, receiving a userrequest from a user to stream streaming media (i.e., games, activities,video, podcasts, User Generated Content (“UGC”), publisher content,etc.) and computer gaming. The platform servers 120 may further carryout instructions, for example, for streaming the streaming media contenttitles. Such streaming media may have at least one object set associatedwith at least a portion of the streaming media. Each set of object datamay have data about an object (e.g., activity information, zoneinformation, actor information, mechanic information, game mediainformation, etc.) displayed during at least a portion of the streamingmedia.

The streaming media and the associated at least one set of object datamay be provided through an application programming interface (API) 160,which allows various types of media streaming servers 110 to communicatewith different platform servers 120 and different user devices 130. API160 may be specific to the particular computer programming language,operating system, protocols, etc., of the media streaming servers 110providing the streaming media content titles, the platform servers 120providing the media and the associated at least one set of object data,and user devices 130 receiving the same. In a network environment 100that includes multiple different types of media streaming servers 110(or platform servers 120 or user devices 130), there may likewise be acorresponding number of APIs 160.

The user device 130 may include a plurality of different types ofcomputing devices. For example, the user device 130 may include anynumber of different gaming consoles, mobile devices, laptops, anddesktops. In another example, the user device 130 may be implemented inthe cloud (e.g., one or more cloud servers). Such user device 130 mayalso be configured to access data from other storage media, such as, butnot limited to memory cards or disk drives as may be appropriate in thecase of downloaded services. Such devices 130 may include standardhardware computing components such as, but not limited to network andmedia interfaces, non-transitory computer-readable storage (memory), andprocessors for executing instructions that may be stored in memory.These user devices 130 may also run using a variety of differentoperating systems (e.g., iOS, Android), applications or computinglanguages (e.g., C++, JavaScript). An example of a user device 130 is acomputer gaming console.

The databases 140 may be stored on the platform server 120, the mediastreaming servers 110, any of the servers 218 (shown in FIG. 2 ), on thesame server, on different servers, on a single server, across differentservers, or on any of the user devices 130. Such databases 140 may storethe streaming media and/or an associated set of object data. Suchstreaming media may depict one or more objects (e.g., activities) that auser can participate in and/or UGC (e.g., screen shots, videos,commentary, mashups, etc.) created by peers, publishers of the mediacontent titles and/or third party publishers. Such UGC may includemetadata by which to search for such UGC. Such UGC may also includeinformation about the media and/or peer. Such peer information may bederived from data gathered during peer interaction with an object of aninteractive content title (e.g., a video game, interactive book, etc.)and may be “bound” to and stored with the UGC. Such binding enhances UGCas the UGC may deep link (e.g., directly launch) to an object, mayprovide for information about an object and/or a peer of the UGC, and/ormay allow a user to interact with the UGC. One or more user profiles mayalso be stored in the databases 140. Each user profile may includeinformation about the user (e.g., user progress in an activity and/ormedia content title, user id, user game characters, etc.) and may beassociated to media.

FIG. 2 illustrates an exemplary uniform data system (UDS) that may beused to provide data to a system for profile-based detection ofunintended controller usage. Based on data provided by UDS, a gamingserver can be made aware of what in-game objects, entities, activities,and events that users have engaged with, and thus support analysis ofand coordination with in-game activities. Each user interaction may beassociated the metadata for the type of in-game interaction, locationwithin the in-game environment, and point in time within an in-gametimeline, as well as other players, objects, entities, etc., involved.Thus, metadata can be tracked for any of the variety of userinteractions that can occur in during a game session, includingassociated activities, entities, settings, outcomes, actions, effects,locations, and character stats. Such data may further be aggregated,applied to data models, and subject to analytics. Such a UDS data modelmay be used to assign contextual information to each portion ofinformation in a unified way across games.

As illustrated in FIG. 2 , an exemplary console 228 (e.g., a user device130) and exemplary servers 218 (e.g., streaming server 220, an activityfeed server 224, a user-generated content (UGC) server 232, and anobject server 226) are shown. In one example, the console 228 may beimplemented on the platform server 120, a cloud server, or on any of theservers 218. In an exemplary example, a content recorder 202 may beimplemented on the platform server 120, a cloud server, or on any of theservers 218. Such content recorder 202 receives and records content(e.g., media) from an interactive content title 230 onto a contentring-buffer 208. Such ring-buffer 208 may store multiple contentsegments (e.g., v1, v2 and v3), start times for each segment (e.g.,V1_START_TS, V2_START_TS, V3_START_TS), and end times for each segment(e.g., V1_END_TS, V2_END_TS, V3_END_TS). Such segments may be stored asa media file 212 (e.g., MP4, WebM, etc.) by the console 228. Such mediafile 212 may be uploaded to the streaming server 220 for storage andsubsequent streaming or use, though the media file 212 may be stored onany server, a cloud server, any console 228, or any user device 130.Such start times and end times for each segment may be stored as acontent time stamp file 214 by the console 228. Such content time stampfile 214 may also include a streaming ID, which matches a streaming IDof the media file 212, thereby associating the content time stamp file214 to the media file 212. Such content time stamp file 214 may beuploaded and stored to the activity feed server 224 and/or the UGCserver 232, though the content time stamp file 214 may be stored on anyserver, a cloud server, any console 228, or any user device 130.

Concurrent to the content recorder 202 receiving and recording contentfrom the interactive content title 230, an object library 204 receivesdata from the interactive content title 230, and an object recorder 206tracks the data to determine when an object beings and ends. The objectlibrary 204 and the object recorder 206 may be implemented on theplatform server 120, a cloud server, or on any of the servers 218. Whenthe object recorder 206 detects an object beginning, the object recorder206 receives object data (e.g., if the object were an activity, userinteraction with the activity, activity ID, activity start times,activity end times, activity results, activity types, etc.) from theobject library 204 and records the activity data onto an objectring-buffer 210 (e.g., ActivityID1, START_TS; ActivityID2, START_TS;ActivityID3, START_TS). Such activity data recorded onto the objectring-buffer 210 may be stored in the object file 216. Such object file216 may also include activity start times, activity end times, anactivity ID, activity results, activity types (e.g., competitive match,quest, task, etc.), user or peer data related to the activity. Forexample, an object file 216 may store data regarding an item used duringthe activity. Such object file 216 may be stored on the object server226, though the object file 216 may be stored on any server, a cloudserver, any console 228, or any user device 130.

Such object data (e.g., the object file 216) may be associated with thecontent data (e.g., the media file 212 and/or the content time stampfile 214). In one example, the UGC server 232 stores and associates thecontent time stamp file 214 with the object file 216 based on a matchbetween the streaming ID of the content time stamp file 214 and acorresponding activity ID of the object file 216. In another example,the object server 226 may store the object file 216 and may receive aquery from the UGC server 232 for an object file 216. Such query may beexecuted by searching for an activity ID of an object file 216 thatmatches a streaming ID of a content time stamp file 214 transmitted withthe query. In yet another example, a query of stored content time stampfiles 214 may be executed by matching a start time and end time of acontent time stamp file 214 with a start time and end time of acorresponding object file 216 transmitted with the query. Such objectfile 216 may also be associated with the matched content time stamp file214 by the UGC server 232, though the association may be performed byany server, a cloud server, any console 228, or any user device 130. Inanother example, an object file 216 and a content time stamp file 214may be associated by the console 228 during creation of each file 216,214.

FIG. 3 is a flowchart illustrating an exemplary method for profile-baseddetection of unintended controller usage. FIG. 3 begins with step 310where a set of user information may be received. This user informationmay uniquely identify a user and may include a username and/or logininformation. Next in step 320 this user information may be stored aspart of a set of user profile information and then data may be collectedas the user plays one or more games in step 330. Step 330 may alsoinclude monitoring and collecting metrics associated with gameperformance. This collected data may then be stored in step 340 andanalyzed in step 350. The data collected in step 330 may include metricsthat correspond to a negative gaming outcome (e.g. a user missing atarget in a first-player shooter game), control buttons depressed by theuser that may be associated with the negative gaming outcome, and timinginformation. This timing information may be used to cross-reference atime of a gaming event with a timing of a negative gaming outcome whenthe analysis is performed. For example, a time when a user misses atarget may correspond to a time when a character of the user is shot maybe separated by several seconds. Here the negative gaming outcome couldbe the user's character being shot by another gaming character after theuser's character missed a shot apparently aimed at the other gamingcharacter. A set of profile data may identify a game or type of gamethat a user has played and metrics associated with the user playingdifferent types of games may be used to identify types of games that auser plays well and types of games that the performance of the user'sgame play could possibly be improved. This information itself could helpan artificial intelligent (AI) system or machine learning (ML) algorithmidentify how he user may improve their game play.

The profile data may be analyzed in step 350 and this analysis mayidentify apparent errors made by the user. Such an error may include auser may inadvertently pressing an incorrect controller button whenplaying a game. Determination step 360 may then identify whether theuser should be provided with a set of selections. This may includeidentifying whether the user consistently makes a same apparent error ormakes a same apparent error more than a threshold percentage of times.When determination step 360 identifies that the selections should not beprovided to the user, program flow may move to back to step 330 whereadditional user data is collected.

When determination step 360 identifies that the selections should beprovided to the user, those selections may be provided to the user and auser selection may be received in step 370. Such user selections mayallow a user to select one or more activities that help train a user orthat may be used to adapt controller functionality specifically for thatparticular user. One user selection may include “target practice” wherethe user may be provided with sets of targets or targets that move atdifferent speeds. Such practice sessions may help the user become moreadept at playing the game. In an instance when the game is a drivinggame and an apparent error corresponds to over steering, a user may beprovided with instructions that inform the user to more gently use acontrol button associated with steering a vehicle in a game. After auser makes a selection, actions associated with that selection may beinitiated in step 380.

In certain instances, the user may be provided with selections that helpidentify whether the game that the user is playing should be changed.For example, movements of other characters may be slowed down to allowthe user more time to target these other characters. Such changes mayinclude changing a sensitivity of a steering function. A controllerbutton may be made less sensitive when making an over steering of avehicle less likely. As such, user selections may allow a user to changethe tempo of a game or sensitivity of a gaming button to allow the userto have more fun playing the game. This could help prevent the user frombecoming frustrated with a particular game or type of game.

Other selections made by a user may help artificial intelligent softwareidentify whether the user has an impairment. In an instance when itappears that the user has a disabled index finger, that user may beinstructed to use their middle finger to actuate a particular gamingcontrol button (e.g. a trigger).

FIG. 4 is a flowchart illustrating an alternative method forprofile-based detection of unintended controller usage. FIG. 4 beginswith step 410 where a non-optimal game performance or a negative gameoutcome is identified. Here again this could include identifying thatafter missing a target, that the user's character was shot because ofthat miss or this negative outcome could be associated with the userover steering the vehicle they were driving when playing the game.

Next in step 420, controller inputs provided by the user may be reviewedto identify controller inputs that may be associated with thenon-optimal gaming performance or the negative gaming outcome. Next instep 430 the identified controller inputs may be cross-referenced withpossible reasons for the non-optimal gaming performance or negativeoutcome. A pattern of activity may then be identified in step 440 ofFIG. 4 and metrics associated with that pattern of activity may beevaluated to see whether the pattern meets or exceeds a threshold level.This may include calculating percentages. For example, such percentagescould be a function of a total number of shots versus a number of missedshots. This may include identifying that a user more often presses anincorrect button when performing a gaming function (e.g. the userselects a braking function instead of an acceleration function or visaversa). Other patterns may relate to consistently oversteering a vehicleor understeering the vehicle when playing a game. When determinationstep 450 identifies that the threshold level has not been met, programflow may move back to step 410 where additional gaming data is evaluatedto identify a non-optimal gaming performance or negative gaming outcome.When determination step 450 identifies that the threshold level has beenmet, program flow may move to step 460 where a set of selections thatcould be provide to a user are identified as discussed in respect toFIG. 3 .

FIG. 5 is a block diagram of an exemplary electronic entertainmentsystem 500. The entertainment system 500 of FIG. 5 includes a mainmemory 505, a central processing unit (CPU) 510, vector unit 58, agraphics processing unit 520, an input/output (I/O) processor 525, anI/O processor memory 530, a controller interface 535, a memory card 540,a Universal Serial Bus (USB) interface 545, and an IEEE interface 550.The entertainment system 500 further includes an operating systemread-only memory (OS ROM) 555, a sound processing unit 560, an opticaldisc control unit 570, and a hard disc drive 565, which are connectedvia a bus 575 to the I/O processor 525.

Entertainment system 500 may be an electronic game console.Alternatively, the entertainment system 500 may be implemented as ageneral-purpose computer, a set-top box, a hand-held game device, atablet computing device, or a mobile computing device or phone.Entertainment systems may contain more or less operating componentsdepending on a particular form factor, purpose, or design.

The CPU 510, the vector unit 58, the graphics processing unit 520, andthe I/O processor 525 of FIG. 5 communicate via a system bus 585.Further, the CPU 510 of FIG. 5 communicates with the main memory 505 viaa dedicated bus 580, while the vector unit 58 and the graphicsprocessing unit 520 may communicate through a dedicated bus 590. The CPU510 of FIG. 5 executes programs stored in the OS ROM 555 and the mainmemory 505. The main memory 505 of FIG. 5 may contain pre-storedprograms and programs transferred through the I/O Processor 525 from aCD-ROM, DVD-ROM, or other optical disc (not shown) using the opticaldisc control unit 570. I/O Processor 525 of FIG. 5 may also allow forthe introduction of content transferred over a wireless or othercommunications network (e.g., 4$, LTE, 3G, and so forth). The I/Oprocessor 525 of FIG. 5 primarily controls data exchanges between thevarious devices of the entertainment system 500 including the CPU 510,the vector unit 58, the graphics processing unit 520, and the controllerinterface 535.

The graphics processing unit 520 of FIG. 5 executes graphicsinstructions received from the CPU 510 and the vector unit 58 to produceimages for display on a display device (not shown). For example, thevector unit 58 of FIG. 5 may transform objects from three-dimensionalcoordinates to two-dimensional coordinates, and send the two-dimensionalcoordinates to the graphics processing unit 520. Furthermore, the soundprocessing unit 560 executes instructions to produce sound signals thatare outputted to an audio device such as speakers (not shown). Otherdevices may be connected to the entertainment system 500 via the USBinterface 545, and the IEEE 1394 interface 550 such as wirelesstransceivers, which may also be embedded in the system 500 or as a partof some other component such as a processor.

A user of the entertainment system 500 of FIG. 5 provides instructionsvia the controller interface 535 to the CPU 510. For example, the usermay instruct the CPU 510 to store certain game information on the memorycard 540 or other non-transitory computer-readable storage media orinstruct a character in a game to perform some specified action.

The present invention may be implemented in an application that may beoperable by a variety of end user devices. For example, an end userdevice may be a personal computer, a home entertainment system (e.g.,Sony PlayStation2® or Sony PlayStation3® or Sony PlayStation4®), aportable gaming device (e.g., Sony PSP® or Sony Vita®), or a homeentertainment system of a different albeit inferior manufacturer. Thepresent methodologies described herein are fully intended to be operableon a variety of devices. The present invention may also be implementedwith cross-title neutrality wherein an embodiment of the present systemmay be utilized across a variety of titles from various publishers.

The present invention may be implemented in an application that may beoperable using a variety of devices. Non-transitory computer-readablestorage media refer to any medium or media that participate in providinginstructions to a central processing unit (CPU) for execution. Suchmedia can take many forms, including, but not limited to, non-volatileand volatile media such as optical or magnetic disks and dynamic memory,respectively. Common forms of non-transitory computer-readable mediainclude, for example, a floppy disk, a flexible disk, a hard disk,magnetic tape, any other magnetic medium, a CD-ROM disk, digital videodisk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM,and any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one ormore sequences of one or more instructions to a CPU for execution. A buscarries the data to system RAM, from which a CPU retrieves and executesthe instructions. The instructions received by system RAM can optionallybe stored on a fixed disk either before or after execution by a CPU.Various forms of storage may likewise be implemented as well as thenecessary network interfaces and network topologies to implement thesame.

The foregoing detailed description of the technology has been presentedfor purposes of illustration and description. It is not intended to beexhaustive or to limit the technology to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. The described embodiments were chosen in order to best explainthe principles of the technology, its practical application, and toenable others skilled in the art to utilize the technology in variousembodiments and with various modifications as are suited to theparticular use contemplated. It is intended that the scope of thetechnology be defined by the claim.

What is claimed is:
 1. A method for profile-based detection ofunintended controller usage, the method comprising: storing in memory aset of input data received at an interactive controller, the set ofinput data including timing information associated with one or morevirtual actions taken within a virtual environment resulting from one ormore controller inputs received via the interactive controller;monitoring performance data associated with a user during a currentinteractive session associated with the virtual environment, wherein themonitored performance data includes a current set of input data at anidentified time within the virtual environment; identifying that thecurrent set of input data is associated with an unintended virtualaction based on an analysis that compares the current set of input dataat the identified time to the stored set of input data at acorresponding time within the virtual environment, wherein the storedset of input data is associated with a different virtual actionidentified as intended; identifying a set of selectable options topresent the user based on the unintended virtual action, wherein one ormore of the selectable options is based on the intended virtual actionassociated with the stored set of input data; generating at least one ofthe set of selectable options to present to the user via a user deviceassociated with the virtual environment, wherein the user makes aselection from the set of selectable options; and initiating an actioncorresponding to the selection, wherein the action is initiated withinthe virtual environment in accordance with the selection.
 2. The methodof claim 1, wherein initiating the action includes providing traininginformation regarding the intended virtual action, wherein the traininginformation includes instructions regarding one or more controllerinputs associated with performing the intended virtual action in thevirtual environment.
 3. The method of claim 1, further comprisingcross-referencing the stored set of input data with a first metric thatcorresponds to the unintended virtual action and a second metric thatcorresponds to the identified time associated with the unintendedvirtual action.
 4. The method of claim 1, further comprising storinguser profile data regarding the user that cross-references theperformance data of the current interactive session with the stored setof input data and with a content title associated with the currentinteractive session.
 5. The method of claim 4, further comprisingupdating the user profile data with information that cross-referencesperformance data of a plurality of interactive sessions with one or morerespective sets of input data and with one or more content titlesassociated with the plurality of interactive sessions.
 6. The method ofclaim 5, further comprising identifying that the user makes moreunintended virtual actions when playing a first type of the contenttitles as compared to a second type of the content titles.
 7. The methodof claim 1, wherein monitoring the performance data associated with theuser includes tracking a plurality of conditions associated with thecurrent interactive session, and further comprising identifying one ormore patterns each correlating a set of the conditions with occurrenceof unintended virtual actions.
 8. The method of claim 1, whereininitiating the action includes reversing or negating the unintendedvirtual action and automatically performing the intended virtual actionwithin the virtual environment.
 9. The method of claim 1, whereininitiating the action includes changing a timing or pacing of one ormore events within the current interactive session.
 10. The method ofclaim 1, wherein initiating the action includes changing a buttonmapping of a same or different controller of the user, and wherein thechanged button mapping allows for a different set of controller inputsto result in performance of the intended action within the virtualenvironment.
 11. A system for profile-based detection of unintendedcontroller usage, the system comprising: memory that stores a set ofinput data received at an interactive controller, the set of input dataincluding timing information associated with one or more virtual actionstaken within a virtual environment resulting from one or more controllerinputs received via the interactive controller; a communicationinterface that receives monitored performance data associated with auser during a current interactive session associated with the virtualenvironment, wherein the monitored performance data includes a currentset of input data at an identified time within the virtual environment;and a processor that executes instructions stored in memory, wherein theprocessor executes the instructions to: identify that the current set ofinput data is associated with an unintended virtual action based on ananalysis that compares the current set of input data at the identifiedtime to the stored set of input data at a corresponding time within thevirtual environment, wherein the stored set of input data is associatedwith a different virtual action identified as intended; identify a setof selectable options to present the user based on the unintendedvirtual action, wherein one or more of the selectable options is basedon the intended virtual action associated with the stored set of inputdata; generate at least one of the set of selectable options to presentto the user via a user device associated with the virtual environment,wherein the user makes a selection from the set of selectable options;and initiate an action corresponding to the selection, wherein theaction is initiated within the virtual environment in accordance withthe selection.
 12. The system of claim 11, wherein the processorinitiates the action by providing training information regarding theintended virtual action, wherein the training information includesinstructions regarding one or more controller inputs associated withperforming the intended virtual action in the virtual environment. 13.The system of claim 11, wherein the processor executes furtherinstructions to cross-reference the stored set of input data with afirst metric that corresponds to the unintended virtual action and asecond metric that corresponds to the identified time associated withthe unintended virtual action.
 14. The system of claim 11, wherein thememory further stores user profile data regarding the user thatcross-references the performance data of the current interactive sessionwith the stored set of input data and with a content title associatedwith the current interactive session.
 15. The system of claim 14,wherein the processor executes further instructions to update the userprofile data with information that cross-references performance data ofa plurality of interactive sessions with one or more respective sets ofinput data and with one or more content titles associated with theplurality of interactive sessions.
 16. The system of claim 15, whereinthe processor executes further instructions to identify that the usermakes more unintended virtual actions when playing a first type of thecontent titles as compared to a second type of the content titles. 17.The system of claim 11, wherein the processor monitors the performancedata associated with the user by further tracking a plurality ofconditions associated with the current interactive session, and whereinthe processor executes further instructions to identify one or morepatterns each correlating a set of the conditions with occurrence ofunintended virtual actions.
 18. The system of claim 11, wherein theprocessor initiates the action by reversing or negating the unintendedvirtual action and automatically performing the intended virtual actionwithin the virtual environment.
 19. The system of claim 11, wherein theprocessor initiates the action by changing a timing or pacing of one ormore events within the current interactive session.
 20. The system ofclaim 11, wherein the processor initiates the action by changing abutton mapping of a same or different controller of the user, andwherein the changed button mapping allows for a different set ofcontroller inputs to result in performance of the intended action withinthe virtual environment.
 21. A non-transitory computer-readable storagemedium having embodied thereon a program executable by a processor forimplementing a method for profile-based detection of unintendedcontroller usage, the method comprising: storing in memory a set ofinput data received at an interactive controller, the set of input dataincluding timing information associated with one or more virtual actionstaken within a virtual environment resulting from one or more controllerinputs received via the interactive controller; monitoring performancedata associated with a user during a current interactive sessionassociated with the virtual environment, wherein the monitoredperformance data includes a current set of input data at an identifiedtime within the virtual environment; identifying that the current set ofinput data is associated with an unintended virtual action based on ananalysis that compares the current set of input data at the identifiedtime to the stored set of input data at a corresponding time within thevirtual environment, wherein the stored set of input data is associatedwith a different virtual action identified as intended; identifying aset of selectable options to present the user based on the unintendedvirtual action, wherein one or more of the selectable options is basedon the intended virtual action associated with the stored set of inputdata; generating at least one of the set of selectable options topresent to the user via a user device associated with the virtualenvironment, wherein the user makes a selection from the set ofselectable options; and initiating an action corresponding to theselection, wherein the action is initiated within the virtualenvironment in accordance with the selection.